package copyengine.network.roomStructure
{


	public final class CENetworkCommandNotification
	{
		//===========================================================//
		//                                                       SEND                                                                          //
		//===========================================================//

		//===
		//=====创建房间
		//===
		public static const SEND_CREATE_ROOM_SUCCEED:String = "CENetworkCommandNotification::SendCreateRoomSucceed";
		//房间创建失败 - 属于正常流程
		public static const SEND_CREATE_ROOM_FAILED:String = "CENetworkCommandNotification::SendCreateRoomFailed";

		//===
		//=====加入房间
		//===
		public static const SEND_JOIN_ROOM_SUCCEED:String = "CENetworkCommandNotification::SendJoinRoomSucceed";
		//加入房间失败 - 属于正常流程
		public static const SEND_JOIN_ROOM_FAILED:String = "CENetworkCommandNotification::SendJoinRoomFailed";

		//===
		//=====房间加锁(本局游戏开始)
		//===
		public static const SEND_LOCK_ROOM_SUCCEED:String = "CENetworkCommandNotification::SendLockRoomSucceed";

		//===
		//=====房间解锁(本局游戏结束)
		//===
		public static const SEND_UNLOCK_ROOM_SUCCEED:String = "CENetworkCommandNotification::SendUnlockRoomSucceed";

		//===
		//=====退出房间
		//===
		public static const SEND_QUIT_ROOM_SUCCEED:String = "CENetworkCommandNotification::SendQuitRoomSucceed";

		//===
		//=====发送数据
		//===
		public static const SEND_RECEIVE_OTHER_SENDED_DATA:String = "CENetworkCommandNotification::SendReceiveOtherSendedData";

		//===
		//=====玩家加入离开房间(只有数据源的守护进程处理该请求)
		//=====数据源的守护进程对数据进行增删改，上层逻辑仅接收上层逻辑对应访问到的数据源发生改变的消息
		//===
		public static const SEND_DAEMON_HANDLE_ONLY_NEIGHBOUR_STATUS_CHANGE:String = "CENetworkCommandNotification::SendNeighbourStatusChange";

		//===
		//=====和服务器异常断开（发生可以捕获的异常情况下发送该消息）
		//===
		public static const SEND_UNEXPECTED_DISCONNECT:String = "CENetworkCommandNotification::SendUnexpectedDisconnect";


		//===========================================================//
		//                                                       RECEIVE                                                                     //
		//===========================================================//
		public static const RECEIVE_COMMAND_CREATE_ROOM:String = "CENetworkCommandNotification::ReceiveCommandCreateRoom";
		public static const RECEIVE_COMMAND_JOIN_ROOM:String = "CENetworkCommandNotification::ReceiveCommandJoinRoom";
		public static const RECEIVE_COMMAND_QUIT_ROOM:String = "CENetworkCommandNotification::ReceiveCommandQuiteRoom";
		public static const RECEIVE_COMMAND_SEND_DATA_TO_OTHER:String = "CENetworkCommandNotification::ReceiveCommandSendDataToOther";
		public static const RECEIVE_COMMAND_LOCK_ROOM:String = "CENetworkCommandNotification::ReceiveCommandLockRoom";
		public static const RECEIVE_COMMAND_UNLOCK_ROOM:String = "CENetworkCommandNotification::ReceiveCommandUnlockRoom";


		//===========================================================//
		//                                        RESERVE LEVEL TWO COMMAND                                            //
		//===========================================================//
		//LTC: LevelTwoCommand
		//指的是在由F_RESERVE_COMMAND_TRANSPOND_DATA,S_RESERVE_COMMAND_RECEIVE_TRANSPOND_DATA
		//层级下一层的Command,由系统层级函数调用CENetworkCommandUtils发送出去
		//该层级下不解析(Log.err(),但报错)未指定LTC的请求,且游戏逻辑中不可以直接创建LTC并发送

		//同步发送命令,当玩家A调用数据层函数，如DataHandleUtils.addCoins(num:15,uid:"xxxx"),且指定为同步发送
		//此时会发送该LTC，其他玩家接收到命令后同样会执行DataHandleUtils.addCoins(num:15,uid:"xxxx")
		//注意！！ 因为涉及到多人操作,所以操作数据时候应制定UID:xxx,及给xxx这个人的数据进行addCoins操作
		public static const LTC_DATA_LAYER_SYNC_COMMAND:String = "CENetworkCommandNotification::LTCDataLayerSyncCommand"

		//===========================================================//
		//                                        RESERVE SOCKET COMMAND                                                  //
		//===========================================================//

		public static const F_RESERVE_COMMAND_TRANSPOND_DATA:uint = 101;
		public static const F_RESERVE_COMMAND_CREATE_ROOM:uint = 102;
		public static const F_RESERVE_COMMAND_JOIN_ROOM:uint = 103;
		public static const F_RESERVE_COMMAND_QUIT_ROOM:uint = 104;
		public static const F_RESERVE_COMMAND_LOCK_ROOM:uint = 105;
		public static const F_RESERVE_COMMAND_UNLOCK_ROOM:uint = 106;
		public static const F_RESERVE_COMMAND_CHANGE_MASTER:uint = 107;

		//聊天::加入聊天服务器
		public static const F_RESERVE_COMMAND_JOIN_CHAT_SERVER:int = 130;
		//聊天::公共消息
		public static const F_RESERVE_COMMAND_CHAT_PUBLIC_MSG:int = 131;
		//聊天::私聊消息
		public static const F_RESERVE_COMMAND_CHAT_PRIVATE_MSG:int = 132;


		//用来测试RTMFP网络环境,仅会通过RTMFP方式转发
		public static const F_RESERVE_COMMAND_RTMFP_TEST:uint = 199;

		public static const S_RESERVE_COMMAND_RECEIVE_TRANSPOND_DATA:uint = 201;
		public static const S_RESERVE_COMMAND_CREATE_ROOM_RETURN:uint = 202;
		public static const S_RESERVE_COMMAND_JOIN_ROOM_RETURN:uint = 203;
		public static const S_RESERVE_COMMAND_SOME_ONE_JOIN_ROOM:uint = 204;
		public static const S_RESERVE_COMMAND_SOME_ONE_LEAVE_ROOM:uint = 205;
		public static const S_RESERVE_COMMAND_LOCK_ROOM_RETURN:uint = 206;
		public static const S_RESERVE_COMMAND_UNLOCK_ROOM_RETURN:uint = 207;
		public static const S_RESERVE_COMMAND_CHANGE_MASTER_RETURN:uint = 208;
		public static const S_RESERVE_COMMAND_QUIT_ROOM_RETURN:uint = 209

		public static const S_RESERVE_COMMAND_JOIN_CHAT_SERVER_RETURN:uint = 230;

		public function CENetworkCommandNotification()
		{
		}
	}
}
